package carmadness.model;

import java.util.List;

/**
 * A felhasználó irányításának megfelelő útválasztási stratégia.
 * 
 * @author Metzing Arpad
 * @version 1.0
 * @created 10-Apr-2010 2:32:41 PM
 */
public class HumanStrategy extends Strategy
{
	/**
	 * Konstruktor, ami semmi sem csinál.
	 */
	public HumanStrategy()
	{

	}

	/**
	 * Lehetővé teszi a választott irány kívülről történő beállítását.
	 * @param angle
	 */
	public void setChosenAngle( float angle )
	{
		this.lastDecision = angle;
	}

	/**
	 * Minden paramétertől függetlenül a korábban beállított irányt adja vissza.
	 * 
	 * @param angles
	 *            A választható szögek listája.
	 */
	public float decide( List<Float> angles )
	{
		return this.lastDecision;
	}

	/**
	 * Bizonyos helyzetekben a forgalmi súlyok alapján eldönti, hogy megálljon-e.
	 * Minden esetben hamissal tér vissza, hiszen a felhasználó dönt, hogy megáll-e.
	 * 
	 * @param entryWeight
	 *            A belépéshez szükséges súly.
	 * @param ownWeight
	 *            A jármű saját súlya.
	 */
	public boolean decideStop( float entryWeight, float ownWeight )
	{
		return false;
	}

}
